package battleofthejavasea;

import java.io.Serializable;

/**
 *
 * @author Murata, Saito, Santana
 * DTO utilizado como repositório para as posições dos barcos
 * Além de marcar as posições de fogo inimigo nos barcos "aliados".
 * Também indica troca de turnos.
 */
public class BTJS_DTOPlayerBoats implements Serializable {

    private BTJS_DTOBoatUnitPosition[] boatPositions;
    private BTJS_DTOBoatUnitPosition[] enemyShots = new BTJS_DTOBoatUnitPosition[100];

    int currentIndex = 0;
    int currentIndexEnemyShots = 0;
    private boolean isMyTurn;

    //get/sets
    public boolean getIsMyTurn(){
        return this.isMyTurn;
    }
    public void setIsMyTurn(boolean value){
        this.isMyTurn = value;
    }

    public BTJS_DTOBoatUnitPosition[] getBoatPositions(){
        return this.boatPositions;
    }
    public void setBoatPositions(BTJS_DTOBoatUnitPosition[] boatPositions){
        this.boatPositions = boatPositions;
    }

    public BTJS_DTOBoatUnitPosition[] getEnemyShotPositions(){
        return this.enemyShots;
    }
    public void setEnemyShotPositions(BTJS_DTOBoatUnitPosition[] enemyShots){
        this.enemyShots = enemyShots;
    }

    //Construtor: inicializa 26 possíveis posições de tiros para navios a
    public BTJS_DTOPlayerBoats(){
        this.boatPositions = new BTJS_DTOBoatUnitPosition[26];
    }

    //Adiciona célula de barco ao vetor.
    public void add(BTJS_DTOBoatUnitPosition btjsBUP){
        this.boatPositions[currentIndex] = btjsBUP;
        currentIndex++;
    }

    //Adiciona posição de fogo inimigo ao vetor.
    public void addEnemyShots(BTJS_DTOBoatUnitPosition btjsBUP){
        this.enemyShots[currentIndexEnemyShots] = btjsBUP;
        currentIndexEnemyShots++;
    }


}
